package com.eshop.modules.order.service.dto;

import java.util.List;

public class OrderCountDto
{
    private List<String> column;
    private List<OrderCountData> orderCountDatas;
    
    public List<String> getColumn() {
        return this.column;
    }
    
    public List<OrderCountData> getOrderCountDatas() {
        return this.orderCountDatas;
    }
    
    public void setColumn(final List<String> column) {
        this.column = column;
    }
    
    public void setOrderCountDatas(final List<OrderCountData> orderCountDatas) {
        this.orderCountDatas = orderCountDatas;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof OrderCountDto)) {
            return false;
        }
        final OrderCountDto other = (OrderCountDto)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$column = this.getColumn();
        final Object other$column = other.getColumn();
        Label_0065: {
            if (this$column == null) {
                if (other$column == null) {
                    break Label_0065;
                }
            }
            else if (this$column.equals(other$column)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$orderCountDatas = this.getOrderCountDatas();
        final Object other$orderCountDatas = other.getOrderCountDatas();
        if (this$orderCountDatas == null) {
            if (other$orderCountDatas == null) {
                return true;
            }
        }
        else if (this$orderCountDatas.equals(other$orderCountDatas)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof OrderCountDto;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $column = this.getColumn();
        result = result * 59 + (($column == null) ? 43 : $column.hashCode());
        final Object $orderCountDatas = this.getOrderCountDatas();
        result = result * 59 + (($orderCountDatas == null) ? 43 : $orderCountDatas.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "OrderCountDto(column=" + this.getColumn() + ", orderCountDatas=" + this.getOrderCountDatas() + ")";
    }
    
    public static class OrderCountData
    {
        private String name;
        private Integer value;
        
        public String getName() {
            return this.name;
        }
        
        public Integer getValue() {
            return this.value;
        }
        
        public void setName(final String name) {
            this.name = name;
        }
        
        public void setValue(final Integer value) {
            this.value = value;
        }
        
        @Override
        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            }
            if (!(o instanceof OrderCountData)) {
                return false;
            }
            final OrderCountData other = (OrderCountData)o;
            if (!other.canEqual(this)) {
                return false;
            }
            final Object this$value = this.getValue();
            final Object other$value = other.getValue();
            Label_0065: {
                if (this$value == null) {
                    if (other$value == null) {
                        break Label_0065;
                    }
                }
                else if (this$value.equals(other$value)) {
                    break Label_0065;
                }
                return false;
            }
            final Object this$name = this.getName();
            final Object other$name = other.getName();
            if (this$name == null) {
                if (other$name == null) {
                    return true;
                }
            }
            else if (this$name.equals(other$name)) {
                return true;
            }
            return false;
        }
        
        protected boolean canEqual(final Object other) {
            return other instanceof OrderCountData;
        }
        
        @Override
        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            final Object $value = this.getValue();
            result = result * 59 + (($value == null) ? 43 : $value.hashCode());
            final Object $name = this.getName();
            result = result * 59 + (($name == null) ? 43 : $name.hashCode());
            return result;
        }
        
        @Override
        public String toString() {
            return "OrderCountDto.OrderCountData(name=" + this.getName() + ", value=" + this.getValue() + ")";
        }
    }
}
